<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>

  <h5>
    将函数的实际参数转换成数组的方法
  </h5>

  <script>
    // 方法一：
    var args = Array.prototype.slice.call(arguments);

    // 方法二：
    var args = [].slice.call(arguments, 0);

    // 方法三：
    var args = []; 
    for (var i = 1; i < arguments.length; i++) { 
      args.push(arguments[i]);
    }
    // 最后，附个转成数组的通用函数
    var toArray = function(s){
        //try语句允许我们定义在执行时进行错误测试的代码块。
      //catch 语句允许我们定义当 try 代码块发生错误时，所执行的代码块。
        try{
            return Array.prototype.slice.call(s);
        } catch(e){
            var arr = [];
            for(var i = 0,len = s.length; i < len; i++){
                //arr.push(s[i]);
                  arr[i] = s[i];  //据说这样比push快
            }
            return arr;
        }
    }

  </script>
  
</body>
</html>